parseLine | ::= | date_time ( "\r" )? "\n" |
parseAll | ::= | date_time <EOF> |
date_time | ::= | ( day_of_week "," )? date time |
day_of_week | ::= | ( "Mon" | "Tue" | "Wed" | "Thu" | "Fri" | "Sat" | "Sun" ) |
date | ::= | day month year |
day | ::= | <DIGITS> |
month | ::= | "Jan" |
| | "Feb" | |
| | "Mar" | |
| | "Apr" | |
| | "May" | |
| | "Jun" | |
| | "Jul" | |
| | "Aug" | |
| | "Sep" | |
| | "Oct" | |
| | "Nov" | |
| | "Dec" | |
year | ::= | <DIGITS> |
time | ::= | hour ":" minute ( ":" second )? zone |
hour | ::= | <DIGITS> |
minute | ::= | <DIGITS> |
second | ::= | <DIGITS> |
zone | ::= | ( <OFFSETDIR: ["+","-"]> <DIGITS> | obs_zone ) |
obs_zone | ::= | ( "UT" | "GMT" | "EST" | "EDT" | "CST" | "CDT" | "MST" | "MDT" | "PST" | "PDT" | <MILITARY_ZONE: ["A"-"I","a"-"i","K"-"Z","k"-"z"]> ) |